import md5 from "js-md5";

export function getSign(data) {
  // if (!data) {
  //   return data;
  // }
  if (typeof data === "string") {
    data = JSON.parse(data);
  }
  let arr = [];
  for (const key in data) { // 存储参数对象key数组
    arr.push(key);
  }
  arr.sort(); // key 数组做排序
  let signStr = ""; // 最终加密的字符串 拼接 xx=xx&xxx=xxx
  for (const i in arr) {
    let k = arr[i];
    if(data[k] === undefined){
      continue
    }
    if (['validationSignCode'].includes(k)) {  // 不做加密的参数
      continue;
    }
    if (signStr.length > 0) {
      signStr += "&";
    }
    // signStr += k + "=" + data[k];
    signStr += k;
  }
  // appKey
  signStr += import.meta.env.VITE_APP_KEY; // 最后拼接密钥
  data["validationSignCode"] = md5(signStr); // 参数对象新增 sign md5
  return data;
}
